<?php
namespace app\admin\controller;


use think\Controller;
use think\Db;
use app\admin\validate\Cate as CateValidate;
use cate\Category;
class Cate extends Controller
{
    /*
     * 商品分类列表
     */
    public function lst(){
        $admin=session('admin');
        if(empty($admin)){
            $this->error('您未登录，不能进去后台管理','/admin/index/login');
        }
        $cateres=db('cate')->select();
        $category= new Category();
        $cateres=$category->cateTree($cateres);
        $this->assign('cateres',$cateres);
        return view('list');
    }

    /*
     * 添加商品分类
     */
    public function add(){
        $admin=session('admin');
        if(empty($admin)){
            $this->error('您未登录，不能进去后台管理','/admin/index/login');
        }
        if(request()->isPost()){
            $data=input('post.');
            $validate=new CateValidate();
            if (!$validate->check($data)) {
                $this->error($validate->getError());
            }
            db('cate')->insert($data);
            $this->success('添加成功','lst');
        }
        $has=db('cate')->where(['id'=>input('get.id'),'pid'=>0])->select();
        if(!$has){
            $this->error('该类别不能添加子类','lst');
        }
        $cateres=db('cate')->where(['id'=>input('get.id')])->select();
        $this->assign('cateres',$cateres[0]);
        return view();
    }

    /*
     * 修改商品分类
     */
    public function edit(){
        $admin=session('admin');
        if(empty($admin)){
            $this->error('您未登录，不能进去后台管理','/admin/index/login');
        }
        if(request()->isPost()){
            // $id=db('cate')->where('pid','0')->select();   //查询出所有的一级分类
            // if(!in_array(input('get.id'),$id)){           //如果分类id不在一级分类中，则不能添加子类
            //      $this->error('该分类不能添加子类','lst');
            // }
            $data=input('post.');
            \db('cate')->where('id',$data['id'])->update($data);
            $this->success('修改成功','lst');

        }

        // $cateres=db('cate')->field('a.id,a.cate_name,a.pid,b.cate_name as pname')->alias('a')->leftjoin('cate b','a.pid=b.id')->where('a.id',input('get.id'))->select();
        // if($cateres[0]['pname']==''){
        //     $cateres[]['pname']="无";
        // }
        $cateres=db('cate')->select();
        $data=db('cate')->where('id',input('get.id'))->find();
        $category= new Category();
        $cateres=$category->cateTree($cateres);
        $this->assign(['cateres'=>$cateres,
            'pid' =>$data['pid'],
            'name'=>$data['cate_name'],
            'id'=>input('get.id')
        ]);
        return view();
    }



    /*
     *删除商品分类
     */
    public function del(){
        $admin=session('admin');
        if(empty($admin)){
            $this->error('您未登录，不能进去后台管理','/admin/index/login');
        }
        // $category= new Category();
        // $delId=$category->childrenids(input('get.id'),'cate');
        // $delId[]=input('get.id');
        // db('cate')->delete($delId);
        $id=input('id');
        if($id==1||$id==2||$id==11){
            $this->error('一级分类不能删除','lst');
        }else{
            db('goods')->where('cate_id',$id)->update(['onshelf'=>0,'cate_id'=>-1]);
            db('cate')->delete($id);
        }
        $this->success('删除成功','cate/lst');
    }
}